#ifndef _AMP_SIGIFACE_DEV_H_
#define _AMP_SIGIFACE_DEV_H_

#include <interrupt.h>
#include <rthw.h>
#include <rtthread.h>

#if defined(PKG_INTER_CORE_USING_HW_MAILBOX)
#define MBOX_RPMSG_MAGIC0        (0x524D5347U)
#define MBOX_RPMSG_MAGIC1        (0x5A5A5A50U)
#endif /* PKG_INTER_CORE_USING_HW_MAILBOX */

struct amp_sigiface_ops
{
    int (*sigiface_init)(int sigiface_id, rt_sem_t sigiface_sem, void (*sigiface_callback)(int vector, void *param));
    int (*sigiface_send)(int sigiface_id, rt_uint8_t remote_cpu);
};
typedef struct amp_sigiface_ops *amp_sigiface_ops_t;

int amp_sigiface_dev_create(struct amp_sigiface_ops **sigiface_ops);

#endif

